GF-T: measure its cost, halve its critical path, give it its own page - #635
Merged
Conversation
GF-T was the fourth item in a list halfway down two pages, while the homepage led
with a verification service. That is backwards. The service is competent work
anyone with boards could learn to do; GF-T is the only asset here that measurably
beats a published format on the ground its own author claims as the advantage.
Verified before promoting, because a headline claim is exactly where the last one
went wrong. Re-measured from the claim rather than by re-running the script that
produced it — encode, decode, relative error, binned by magnitude, fixed seed,
same oracles:
|e| < 8 GF-T16 3.56e-4 tekum16 3.27e-4 0.92x a tie
|e| 8-20 GF-T16 3.52e-4 tekum16 1.00e-3 2.84x
|e| 20-38 GF-T16 3.53e-4 tekum16 1.95e-3 5.53x
The research note's "3x and 5.5x" reproduces exactly. The site now carries the
measured ratios rather than the rounded ones.
One correction fell out of the check, and it was worth making. The note labelled
those bins "dec". They are powers of two. Binned in actual decades the far column
is not a win at all — GF-T16's exponent reaches ±40 in powers of two, roughly ±12
decades, so past that it overflows while tekum16's unbounded regime keeps going.
A reviewer checking the labelled axis would have found overflow where the table
promised a 5.5x win and concluded the number was invented. Axis corrected
upstream in trinity-fpga; the trade is now stated on the pages too, because a
bounded range is the honest price of fixed fields.
Homepage, evidence page and licensing page all lead with it, and the primary
action is licensing rather than a service enquiry.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Three things the format needed and did not have: a hardware cost, a frequency, and a page of its own. **Cost, and a finding.** Every port in gft_mul is declared 32 bits wide. Nothing in GF-T16 is 32 bits — the mantissa field is 9, so 1+M is 10, their product is exactly 20, and the exponent offset never exceeds 80, which is 7. Synthesis dutifully built a 32x32 multiplier and a 32-bit compare tree and charged full price: 1,179 LUTs, or three DSP48 blocks. With the widths the values actually need it is 219 LUTs and one DSP, or 219 LUTs and none. The interface cost five times the arithmetic. **Frequency.** Cutting between the product and the renormalisation — the two natural halves — takes it from 81.35 MHz to 147.32 MHz post-route on an XC7A200T for one cycle of latency. For context, ALTFP_MUL on a Cyclone IV publishes 119-132 MHz at 6-10 cycles, with ~900 logic elements and 18 embedded multipliers. GF-T's multiplier is ahead on frequency, area, hard-multiplier count and latency at once. **Equivalence, proven both times.** The width correction is checked over 321,156 input combinations: the mantissa space swept in full at offset pairs that exercise underflow, the middle and saturation, then the offsets swept in full at mantissas that do and do not carry. The pipelined version is checked over 199,994 cycles against the combinational one delayed by two. Zero mismatches in both. **The page.** /gft carries the field layout, the accuracy table against tekum16 with the working shown, the hardware cost, the width finding, and a section on where it loses — the bounded range being the honest price of fixed fields, and the fact that no tekum16 RTL exists here, so the cost figures are GF-T's own rather than a comparison against an implementation I wrote for a competitor. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
github-actions Bot
added a commit
that referenced
this pull request
Aug 8, 2026
GF-T: measure its cost, halve its critical path, give it its own page (#635) * Put GF-T where it belongs: at the top GF-T was the fourth item in a list halfway down two pages, while the homepage led with a verification service. That is backwards. The service is competent work anyone with boards could learn to do; GF-T is the only asset here that measurably beats a published format on the ground its own author claims as the advantage. Verified before promoting, because a headline claim is exactly where the last one went wrong. Re-measured from the claim rather than by re-running the script that produced it — encode, decode, relative error, binned by magnitude, fixed seed, same oracles: |e| < 8 GF-T16 3.56e-4 tekum16 3.27e-4 0.92x a tie |e| 8-20 GF-T16 3.52e-4 tekum16 1.00e-3 2.84x |e| 20-38 GF-T16 3.53e-4 tekum16 1.95e-3 5.53x The research note's "3x and 5.5x" reproduces exactly. The site now carries the measured ratios rather than the rounded ones. One correction fell out of the check, and it was worth making. The note labelled those bins "dec". They are powers of two. Binned in actual decades the far column is not a win at all — GF-T16's exponent reaches ±40 in powers of two, roughly ±12 decades, so past that it overflows while tekum16's unbounded regime keeps going. A reviewer checking the labelled axis would have found overflow where the table promised a 5.5x win and concluded the number was invented. Axis corrected upstream in trinity-fpga; the trade is now stated on the pages too, because a bounded range is the honest price of fixed fields. Homepage, evidence page and licensing page all lead with it, and the primary action is licensing rather than a service enquiry. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * GF-T: measure its cost, halve its critical path, give it its own page Three things the format needed and did not have: a hardware cost, a frequency, and a page of its own. **Cost, and a finding.** Every port in gft_mul is declared 32 bits wide. Nothing in GF-T16 is 32 bits — the mantissa field is 9, so 1+M is 10, their product is exactly 20, and the exponent offset never exceeds 80, which is 7. Synthesis dutifully built a 32x32 multiplier and a 32-bit compare tree and charged full price: 1,179 LUTs, or three DSP48 blocks. With the widths the values actually need it is 219 LUTs and one DSP, or 219 LUTs and none. The interface cost five times the arithmetic. **Frequency.** Cutting between the product and the renormalisation — the two natural halves — takes it from 81.35 MHz to 147.32 MHz post-route on an XC7A200T for one cycle of latency. For context, ALTFP_MUL on a Cyclone IV publishes 119-132 MHz at 6-10 cycles, with ~900 logic elements and 18 embedded multipliers. GF-T's multiplier is ahead on frequency, area, hard-multiplier count and latency at once. **Equivalence, proven both times.** The width correction is checked over 321,156 input combinations: the mantissa space swept in full at offset pairs that exercise underflow, the middle and saturation, then the offsets swept in full at mantissas that do and do not carry. The pipelined version is checked over 199,994 cycles against the combinational one delayed by two. Zero mismatches in both. **The page.** /gft carries the field layout, the accuracy table against tekum16 with the working shown, the hardware cost, the width finding, and a section on where it loses — the bounded range being the honest price of fixed fields, and the fact that no tekum16 RTL exists here, so the cost figures are GF-T's own rather than a comparison against an implementation I wrote for a competitor. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Dmitrii Vasilev <admin@t27.ai> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three things the format needed and did not have: a hardware cost, a frequency, and a page of its own.
Cost, and a finding
Every port in
gft_mulis declared 32 bits wide. Nothing in GF-T16 is 32 bits — the mantissa field is 9, so1+Mis 10, their product is exactly 20, and the exponent offset never exceedsOFFSET_MAX = 80, which is 7. Synthesis dutifully built a 32×32 multiplier and a 32-bit compare tree and charged full price.gft_mulas writtengft_mul_wcorrect widthsgft_mul_wptwo stagesThe interface cost five times the arithmetic.
For context: ALTFP_MUL on a Cyclone IV publishes 119–132 MHz at 6–10 cycles of latency with ~900 logic elements and 18 embedded multipliers. GF-T's multiplier is ahead on frequency, area, hard-multiplier count and latency at once.
Equivalence, proven both times
The page
/gftcarries the field layout, the accuracy table with the working shown, the hardware cost, the width finding, and a section on where it loses — the bounded range as the honest price of fixed fields, and the fact that no tekum16 RTL exists here, so the cost figures are GF-T's own rather than a comparison against an implementation I wrote for a competitor.🤖 Generated with Claude Code